// 引入依赖
const express = require("express");
const multer = require("multer");
const path = require("path");

// 创建 express 应用
const app = express();

// 提供静态文件（index.html）
app.use(express.static(__dirname));

// 设置 multer 存储引擎（存储在服务器的 uploads 文件夹中）
const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, "./uploads"); // 设置上传文件存储的目录
  },
  filename: (req, file, cb) => {
    // 设置文件名为原始文件名
    cb(null, Date.now() + path.extname(file.originalname)); // 通过时间戳避免文件重名
  },
});

// 初始化 multer
const upload = multer({ storage: storage });

// 创建上传文件的 POST 路由
app.post("/upload", upload.single("file"), (req, res) => {
  if (!req.file) {
    return res.status(400).send("没有文件上传");
  }
  res.send(`文件上传成功: ${req.file.filename}`);
});

// 创建一个简单的 GET 路由用于测试
app.get("/upload", (req, res) => {
  res.send("<h2>欢迎使用文件上传功能</h2>");
});

// 设置端口并启动服务器
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`服务器正在监听端口 ${PORT}`);
});
